package fl.controls;

extern class SelectableList extends fl.containers.BaseScrollPane, implements fl.managers.IFocusManagerComponent {
	var allowMultipleSelection : Bool;
	var dataProvider : fl.data.DataProvider;
	var length(default,never) : UInt;
	var rowCount(default,never) : UInt;
	var selectable : Bool;
	var selectedIndex : Int;
	var selectedIndices : Array<Dynamic>;
	var selectedItem : Dynamic;
	var selectedItems : Array<Dynamic>;
	function new() : Void;
	function addItem(p1 : Dynamic) : Void;
	function addItemAt(p1 : Dynamic, p2 : UInt) : Void;
	function clearRendererStyle(p1 : String, p2 : Int = -1) : Void;
	function clearSelection() : Void;
	function getItemAt(p1 : UInt) : Dynamic;
	function getNextIndexAtLetter(p1 : String, p2 : Int = -1) : Int;
	function getRendererStyle(p1 : String, p2 : Int = -1) : Dynamic;
	function invalidateItem(p1 : Dynamic) : Void;
	function invalidateItemAt(p1 : UInt) : Void;
	function invalidateList() : Void;
	function isItemSelected(p1 : Dynamic) : Bool;
	function itemToCellRenderer(p1 : Dynamic) : fl.controls.listClasses.ICellRenderer;
	function itemToLabel(p1 : Dynamic) : String;
	function removeAll() : Void;
	function removeItem(p1 : Dynamic) : Dynamic;
	function removeItemAt(p1 : UInt) : Dynamic;
	function replaceItemAt(p1 : Dynamic, p2 : UInt) : Dynamic;
	function scrollToIndex(p1 : Int) : Void;
	function scrollToSelected() : Void;
	function setRendererStyle(p1 : String, p2 : Dynamic, p3 : UInt = 0) : Void;
	function sortItems(?p1 : Dynamic, ?p2 : Dynamic, ?p3 : Dynamic, ?p4 : Dynamic, ?p5 : Dynamic) : Dynamic;
	function sortItemsOn(p1 : String, ?p2 : Dynamic) : Dynamic;
	static var createAccessibilityImplementation : Dynamic;
	static function getStyleDefinition() : Dynamic;
}
